#ifndef PLUGIN_INIT_H
#define PLUGIN_INIT_H

#include "hook.h"

#define DLL_USE_ELOG
#include "logger.h"

#define PLUGIN_USE

// 这里不使用 easylogging, 如果在动态库中使用 easylogging, 需要把 easylogging 编译为一个库,
// easylogging 不适合此场景 extern ELPP_EXPORT base::type::StoragePointer elStorage;

extern "C"
{
    void PluginInit(int sessionId, void *session);
}

// plugin use,
namespace nmsp
{
    Cont *ContCreate(PluginCallback pluginCb, const std::string &pattern, void *data);
    void ContDestroy(Cont *contp);
    int HttpHookAdd(enum HttpHookID hookId, Cont *contp);
}

#endif